[IA64] fix early access to per cpu area.
authorIsaku Yamahata <yamahata@valinux.co.jp>
Tue, 21 Apr 2009 09:27:59 +0000 (18:27 +0900)
committerIsaku Yamahata <yamahata@valinux.co.jp>
Tue, 21 Apr 2009 09:27:59 +0000 (18:27 +0900)
commit23eab25ed025f877b300f72673f98b73bc375357
tree9bd913137827c3583720f5b46a4291247a570b57
parent33ac804deb5db50e6c5280b3f5b9af2cf1552177
[IA64] fix early access to per cpu area.

The following changeset broke booting xen-ia64 on some kinds of ia64 boxes.
http://xenbits.xensource.com/ext/ia64/xen-unstable.hg/rev/3fd8f9b34941

The tasklet_schedule call raise_softirq().
Because raise_softirq() use per_cpu, if we access per_cpu before cpu_init()
the behavior would be unexpected.

There was a similar issue on Linux/ia64.
The following change sets resolved it.
10617bbe84628eb18ab5f723d3ba35005adde143
c459ce8b5a7d933a3bcf6915ab17ac1e036e2ac4

This patch fixes the issue following the linux/ia64 solution.
Allocate per cpu area for cpu0 in .data section and initialize
it early.

reported-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
--HG--
rename : xen/include/asm-ia64/linux/asm/sections.h => xen/include/asm-ia64/linux-xen/asm/sections.h
xen/arch/ia64/linux-xen/head.S
xen/arch/ia64/linux-xen/mm_contig.c
xen/arch/ia64/linux-xen/smpboot.c
xen/arch/ia64/xen/xen.lds.S
xen/include/asm-ia64/linux-xen/asm/README.origin
xen/include/asm-ia64/linux-xen/asm/sections.h [new file with mode: 0644]
xen/include/asm-ia64/linux/asm/README.origin
xen/include/asm-ia64/linux/asm/sections.h [deleted file]